freespeechfandomcom-20200214-history
Super-seeding
Super seeding is a feature of some BitTorrent clients that attempts to minimize the amount of data which must be uploaded by the original seed until the first completion of a downloading peer. The feature was conceived by John Hoffman and first implemented in the BitTornado client in mid 2003. This feature should only be used when there is no more than one seed. It is called Initial Seeding in µTorrent because it is only supposed to be used when there is only one seeder. Super seeding is a change in the behavior of seeds and may be implemented without violating the BitTorrent protocol. Operation Please see the BitTorrent page for a more detailed description of the protocol. Rather than claiming to have every piece from the outset, the seeder claims to have no pieces. As peers connect, the seed will inform a peer that it has received a new piece, one that has not yet been sent to any other peers. The seed then unchokes the peer and allows it to download the piece. The seed will not upload another piece to the same peer until the seed receives confirmation from other peers that the piece has been uploaded again. Effects A super seed will usually upload fewer bits before downloaders begin to complete than a standard seed by strictly limiting the uploading of duplicate pieces. That does not necessarily mean that the uploading will take less time. The time it takes for the first completion of a downloader, when super seeding, becomes limited by the upload rate of the peers connected to it. Further, the seed does not have global information about piece distribution and may not be informed of a piece being uploaded because it was uploaded to a peer not connected to the seed. That is particularly a problem if the seed cannot accept incoming connections. If many seeds on a mature torrent are using super seed mode, the performance of the torrent will be limited. Super seed mode is most useful for seeds that pay for upload bandwidth by the byte. In that case, super seeding makes sense as it minimizes the costs required to seed a torrent. Also, when you have a low upload speed super seed is very efficient. In other cases, the benefits of super seeding are not so clear. The configuration of peers and their individual upload capacities over the spectrum of individual torrents varies wildly. Seeding strategy and detecting at download time when a given strategy is most appropriate is an area of research. The overall positive effect is not reserved only for the initial seeder, however, since the method creates multiple seeds in a more efficient manner than "average" seeding in a limited number of cases (one seeder, multiple incomplete peers). In practice, once the initial seeder uploads one complete copy of the file, multiple new seeds will emerge in a matter of minutes, thus boosting the overall uploading speed of the swarm. Stalling problem Super seeding transfers stall when there is only one one downloading client. The seeders will not send more data until a second client receives the data. It is not known if any implementations use a timeout or other solution. Supporting clients *Anatomic P2P *Azureus *BitSpirit *BitTornado *BitTorrent version 6.0 *Burst! (using the shad0w or hurricane cores) *Rtorrent *µTorrent *ABC (Yet Another BitTorrent Client) *BitComet Clients accused of abusing super-seeding *BitLord *BitComet External links *Description of original super-seed algorithm in BitTornado *Report by Robb Toploski (Issue #4 & 5 are regarding Super Seeding) From BitTorrent Wiki, a Wikia wiki.